Method and apparatus for controlling a sprinkler system

ABSTRACT

A sprinkler system having a method and computer program comprises one or more sprinklers each comprising a sprinkler valve adapted to regulate an amount of fluid delivered by the sprinkler in response to a control signal; a master unit adapted to transmit digital data; and a sprinkler controller comprising a receiver adapted to receive a signal representing the digital data; a media access controller adapted to obtain the digital data from the signal; and a processor adapted to produce the control signal based on the digital data obtained by the media access controller; and an output circuit adapted to provide the control signal to the sprinklers.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/692,644 (now U.S. Pat. No. 7,778,736), filed on Oct. 24, 2003, whichis a continuation-in-part of U.S. patent application Ser. No. 10/184,302(now U.S. Pat. No. 7,457,676), filed on Jun. 26, 2002, which is acontinuation-in-part of U.S. patent application Ser. No. 10/184,505 (nowU.S. Pat. No. 7,546,172), filed on Jun. 26, 2002, which is acontinuation-in-part of U.S. patent application Ser. No. 10/184,299 (nowU.S. Pat. No. 7,315,764), filed on Jun. 26, 2002, which is acontinuation-in-part of U.S. patent application Ser. No. 09/659,693,filed on Sep. 11, 2000, which claims the benefit of U.S. ProvisionalPatent Application No. 60/211,874, filed on Jun. 14, 2000, thedisclosures therof incorporated by reference herein in their entirety.

BACKGROUND

The present invention relates generally to an apparatus forenvironmental control.

FIG. 1 is an example of a conventional MP3 player. MP3 player includesan interface 106, nonvolatile solid state memory 102, a decoder 110, adigital-to-analog (D/A) converter 147, an audio output 116, a key pad108, a display 112, a controller 104, RAM 144 and ROM 145.

Controller 104 controls the operation of the MP3 player in accordancewith a set of programmed instructions. Programmed instructions forcontroller 104 are stored in nonvolatile memory or ROM 145, and RAM 144is provided as the working memory for controller 104.

Typically, MP3 data, which is a digital compressed format representingmusic data, is initially stored on a personal computer 50 and issubsequently transferred to the MP3 player via interface 106, undercontrol of controller 104. The MP3 data is stored in nonvolatile solidstate memory 102. Interface 50 can implemented by a standard parallelport, serial port, USB and the like. Nonvolatile solid state memory 102may be implemented as flash memory. Generally, for a music qualityrecording, a nonvolatile solid state memory having 64 Mbytes can storeabout 1 hour of music. Flash memory provides the capability of retainingthe stored digital data even when the MP3 player is powered down. Oncethe digital data has been transferred to the MP3 player, it no longerneeds to be connected to personal computer 50, and the MP3 player canplay back the MP3 data autonomously from personal computer 50.

Decoder 110 functions to decode and decompress the MP3 data file storedin nonvolatile solid state memory 102. Decoder 110 decompresses the MP3music file in accordance controller 104 according to the MP3 format, anddecodes the decompressed music file into a bit stream form. The bitstream is then converted into analog form by digital to analog converter147 for connection to a speaker, earphone and the like. A decodingprogram for the MP3 decoder function is stored in the ROM 145 and loadedto RAM 144 by controller 104 as required.

The MP3 player comprises a keypad 108 for allowing user control andinteraction with the MP3 player. Such control may include power on/poweroff, music selection and volume. The MP3 also comprises a display 112for displaying characters or graphics, such as a battery indicator, aplay mode indicator, a volume indicator, available memory size and thetitle of the music being played.

SUMMARY

In general, in one aspect, the invention features a sprinkler systemcomprising one or more sprinklers each comprising a sprinkler valveadapted to regulate an amount of fluid delivered by the sprinkler inresponse to a control signal; a master unit adapted to transmit digitaldata; and a sprinkler controller comprising a receiver adapted toreceive a signal representing the digital data; a media accesscontroller adapted to obtain the digital data from the signal; and aprocessor adapted to produce the control signal based on the digitaldata obtained by the media access controller; and an output circuitadapted to provide the control signal to the sprinklers.

Particular implementations can include one or more of the followingfeatures. The digital data comprises data representing at least one ofthe group comprising a desired sprinkler operation schedule;meteorological conditions; and a status of a fluid supply systemsupplying the fluid to the sprinklers. The sprinkler controller furthercomprises a timer adapted to provide a time signal representing a timeof day; wherein the processor is adapted to provide the control signalbased on the digital data obtained by the media access controller andthe time signal. The receiver is further adapted to receive a sensorsignal provided by one or more sensors; and the processor is furtheradapted to provide the control signal based on the digital data obtainedby the media access controller and the sensor signal. The sensor signalrepresents at least one of the group comprising a pressure of the fluid,a flow rate of the fluid, a sunlight intensity, an ambient temperature,and a relative humidity. The sprinkler system further comprises the oneor more sensors. The sprinkler controller further comprises a keypadadapted to provide a keypad control signal in response to operation ofthe keypad; wherein the processor is further adapted to provide thecontrol signal based on the digital data obtained by the media accesscontroller and the keypad control signal. The sprinkler controllerfurther comprises a display adapted to display a status of the sprinklercontroller. The processor and the media access controller areimplemented together as a single integrated circuit. The receiver is awireless receiver. The receiver complies with a standard selected fromthe group consisting of IEEE 802.11; IEEE 802.11a; IEEE 802.11b; IEEE802.11g; IEEE 802.11h; IEEE 802.11i; Short Messaging Service (SMS); andAnalog Display Service Interface (ADSI). The sprinkler controllerfurther comprises a memory adapted to store a sprinkler schedule; andthe processor is further adapted to produce the control signal based onthe sprinkler schedule. The processor is further adapted to produce thecontrol signal based on the sprinkler schedule stored in the memory whenthe signal representing the digital data is unavailable. The memory isnon-volatile. The receiver comprises pager technology.

In general, in one aspect, the invention features a sprinkler controllerfor controlling one or more sprinklers each comprising a sprinkler valveadapted to regulate an amount of fluid delivered by the sprinkler inresponse to a control signal, the sprinkler controller comprising areceiver adapted to receive a signal representing digital data; a mediaaccess controller adapted to obtain the digital data from the signal;and a processor adapted produce the control signal based on the digitaldata obtained by the media access controller; and an output circuitadapted to provide the control signal to the sprinklers.

Particular implementations can include one or more of the followingfeatures. The digital data comprises data representing at least one ofthe group comprising a desired sprinkler operation schedule;meteorological conditions; and a status of a fluid supply systemsupplying the fluid to the sprinklers. The sprinkler controller furthercomprises a timer adapted to provide a time signal representing a timeof day; wherein the processor is adapted to provide the control signalbased on the digital data obtained by the media access controller andthe time signal. The receiver is further adapted to receive a sensorsignal provided by one or more sensors; and wherein the processor isfurther adapted to provide the control signal based on the digital dataobtained by the media access controller and the sensor signal. Thesensor signal represents at least one of the group comprising a pressureof the fluid, a flow rate of the fluid, a sunlight intensity, an ambienttemperature, and a relative humidity. The sprinkler controller furthercomprises the one or more sensors. The sprinkler controller furthercomprises a keypad adapted to provide a keypad control signal inresponse to operation of the keypad; the processor is further adapted toprovide the control signal based on the digital data obtained by themedia access controller and the keypad control signal. The sprinklercontroller further comprises a display adapted to display a status ofthe sprinkler controller. The processor and the media access controllerare implemented together as a single integrated circuit. The receiver isa wireless receiver. The receiver complies with a standard selected fromthe group consisting of IEEE 802.11; IEEE 802.11a; IEEE 802.11b; IEEE802.11g; IEEE 802.11h; IEEE 802.11i; Short Messaging Service (SMS); andAnalog Display Service Interface (ADSI). The sprinkler controllerfurther comprises a memory adapted to store a sprinkler schedule; andwherein the processor is further adapted to produce the control signalbased on the sprinkler schedule. The processor is further adapted toproduce the control signal based on the sprinkler schedule stored in thememory when the signal representing the digital data is unavailable. Thememory is non-volatile. The receiver comprises pager technology.

In general, in one aspect, the invention features a method and computerprogram for controlling one or more sprinklers each comprising asprinkler valve adapted to regulate an amount of fluid delivered by thesprinkler in response to a control signal, the method comprisingreceiving a signal representing digital data; obtaining the digital datafrom the signal; decoding the digital data; and providing a controlsignal to the sprinklers based on the digital data.

Particular implementations can include one or more of the followingfeatures. The digital data comprises data representing at least one ofthe group comprising a desired sprinkler operation schedule;meteorological conditions; and a status of a fluid supply systemsupplying the fluid to the sprinklers. The method further comprisesproviding a time signal representing a time of day; and providing thecontrol signal based on the digital data and the time signal. The methodfurther comprises receiving a sensor signal; and providing the controlsignal based on the data and the sensor signal. The sensor signalrepresents at least one of the group comprising a pressure of the fluid,a flow rate of the fluid, a sunlight intensity, an ambient temperature,and a relative humidity. The method further comprises receiving a keypadcontrol signal representing operation of a keypad; and providing thecontrol signal based on the digital data and the keypad control signal.The method further comprises displaying a status of the sprinklercontroller. The method further comprises storing a sprinkler schedule;and wherein control signal is based on the sprinkler schedule. Themethod of claim further comprises producing the control signal based onthe stored sprinkler schedule when the signal representing the digitaldata is unavailable.

In general, in one aspect, the invention features an integrated circuitto control a sprinkler controller for controlling one or more sprinklerseach comprising a sprinkler valve adapted to regulate the amount offluid delivered by the sprinkler in response to a control signal,wherein the sprinkler controller comprises a receiver adapted to receivea signal representing digital data and an output circuit adapted toprovide the control signal to the sprinklers in response to a controlsignal, the integrated circuit comprising a media access controlleradapted to obtain digital data from a signal received by a receiver ofthe sprinkler controller, the signal representing the digital data, anda processor adapted to produce the control signal based on the digitaldata obtained by the media access controller.

Particular implementations can include one or more of the followingfeatures. The digital data comprises data representing at least one ofthe group comprising a desired sprinkler operation schedule;meteorological conditions; and a status of a fluid supply systemsupplying the fluid to the sprinklers. The sprinkler controller furthercomprises a sensor adapted to provide a sensor signal provided by one ormore sensors; wherein the processor is adapted to provide the controlsignal based on the digital data obtained by the media access controllerand the sensor signal. The sensor signal represents at least one of thegroup comprising a pressure of the fluid, a flow rate of the fluid,sunlight intensity; an ambient temperature; and a relative humidity. Thesprinkler controller further comprises a timer adapted to provide a timesignal representing a time of day; wherein the processor is adapted toprovide the control signal based on the digital data obtained by themedia access controller and the time signal. The integrated circuit ofclaim further comprises a memory adapted to store a sprinkler schedule;wherein the processor is further adapted to produce the control signalbased on the sprinkler schedule. The processor is further adapted toproduce the control signal based on the sprinkler schedule stored in thememory when the signal representing the digital data is unavailable. Thememory is non-volatile.

In general, in one aspect, the invention features a method andcomputer-implemented method for serving a sprinkler system comprisingone or more sprinklers and a sprinkler controller adapted to control thesprinklers, the method comprising obtaining sprinkler-related data;generating a schedule for the sprinkler system based on thesprinkler-related data; and transmitting the sprinkler schedule to thesprinkler controller; wherein the sprinkler controller controls thesprinklers according to the sprinkler schedule.

Particular implementations can include one or more of the followingfeatures. The sprinkler-related data is selected from the groupconsisting of meteorological conditions; and a status of a fluid supplysystem supplying fluid to the sprinklers. The sprinkler system furthercomprises one or more sensors, and the method further comprisesreceiving a sensor signal from one or more of the sensors, the sensorsignal representing a condition of the sprinkler system; and generatingthe schedule for the sprinkler system based on the sprinkler-relateddata and the sensor signal. The method further comprises determining acondition of the sprinkler system based on the sensor signal;determining a service for the sprinkler system in accordance with thecondition of the sprinkler system; and providing the service for thesprinkler system. The sensor signal represents at least one of the groupcomprising a pressure of a fluid supplied to the sprinklers; and a flowrate of the fluid. The service for the sprinkler system is selected fromthe group consisting of interrupting a flow of fluid supplied to thesprinkler system; repairing one or more of the sprinklers; and repairingsupply line providing fluid to one or more of the sprinklers.Implementations comprise determining a cost of the service provided forthe sprinkler system; generating an invoice for the cost of the service;and providing the invoice to a custodian of the sprinkler system.

In general, in one aspect, the invention features an environmentalcontrol system comprising an environmental control unit adapted tocontrol one or more environmental variables in response to a controlsignal; a master unit adapted to transmit digital data; and a controllercomprising a receiver adapted to receive a signal representing thedigital data; a media access controller adapted to obtain the digitaldata from the signal, and a processor adapted to produce the controlsignal based on the digital data obtained by the media accesscontroller; and an output circuit adapted to provide the control signalto the environmental control unit.

Particular implementations can include one or more of the followingfeatures. The digital data comprises data representing at least one ofthe group comprising a desired ambient temperature; and meteorologicalconditions. The receiver is further adapted to receive a sensor signalprovided by one or more sensors; and the processor is further adapted toprovide the control signal based on the digital data obtained by themedia access controller and the sensor signal. The sensor signalrepresents at least one of the group comprising a pressure of the fluid,a flow rate of the fluid, a sunlight intensity, an ambient temperature,and a relative humidity. The environmental control system furthercomprises the one or more sensors. The controller further comprises akeypad adapted to provide a keypad control signal in response tooperation of the keypad; wherein the processor is adapted to provide thecontrol signal based on the digital data obtained by the media accesscontroller and the keypad control signal. The controller furthercomprises a display adapted to display a status of the controller. Theprocessor and the media access controller are implemented together as asingle integrated circuit. The receiver is a wireless receiver. Thereceiver complies with a standard selected from the group consisting ofIEEE 802.11; IEEE 802.11a; IEEE 802.11b; IEEE 802.11g; IEEE 802.11h;IEEE 802.11i; Short Messaging Service (SMS); and Analog Display ServiceInterface (ADSI). The controller further comprises a memory adapted tostore a schedule; and wherein the processor is further adapted toproduce the control signal based on the schedule. The processor isfurther adapted to produce the control signal based on the schedulestored in the memory when the signal representing the digital data isunavailable. The memory is non-volatile. The receiver comprises pagertechnology.

In general, in one aspect, the invention features a controller forcontrolling an environmental control unit, the controller comprising areceiver adapted to receive a signal representing digital data; a mediaaccess controller adapted to obtain the digital data from the signal;and a processor adapted to produce a control signal based on the digitaldata obtained by the media access controller; and an output circuitadapted to provide the control signal to the environmental control unit.

Particular implementations can include one or more of the followingfeatures. The digital data comprises data representing at least one ofthe group comprising a desired ambient temperature; and meteorologicalconditions. The receiver is further adapted to receive a sensor signalprovided by one or more sensors in response to environmental conditions;and the processor is further adapted to provide the control signal basedon the digital data obtained by the media access controller and thesensor signal. The sensor signal represents at least one of the groupcomprising a sunlight intensity, an ambient temperature, and a relativehumidity. The controller further comprises the one or more sensors. Thecontroller further comprises a keypad adapted to provide a keypadcontrol signal in response to operation of the keypad; wherein theprocessor is adapted to provide the control signal based on the digitaldata obtained by the media access controller and the keypad controlsignal. The controller further comprises a display adapted to display astatus of the controller. A thermostat comprises the controller. Theprocessor and the media access controller are implemented together as asingle integrated circuit. The receiver is a wireless receiver. Thereceiver complies with a standard selected from the group consisting ofIEEE 802.11; IEEE 802.11a; IEEE 802.11b; IEEE 802.11g; IEEE 802.11h;IEEE 802.11i; Short Messaging Service (SMS); and Analog Display ServiceInterface (ADSI). The controller further comprises a memory adapted tostore a schedule; and wherein the processor is further adapted toproduce the control signal based on the schedule. The processor isfurther adapted to produce the control signal based on the schedulestored in the memory when the signal representing the digital data isunavailable. The memory is non-volatile. The receiver comprises pagertechnology.

In general, in one aspect, the invention features a method and computerprogram for controlling an environmental control unit, the methodcomprising receiving a signal representing digital data; obtaining thedigital data from the signal; and providing a control signal to theenvironmental control unit based on the digital data.

Particular implementations can include one or more of the followingfeatures The digital data comprises data representing at least one ofthe group comprising a desired ambient temperature; and meteorologicalconditions. The method further comprises receiving a sensor signalprovided by one or more sensors in response to environmental conditions;and providing the control signal based on the digital data and thesensor signal. The sensor signal represents at least one of the groupcomprising a sunlight intensity, an ambient temperature, and a relativehumidity. The method further comprises receiving a keypad control signalrepresenting operation of a keypad; and providing the control signalbased on the digital data and the keypad control signal. The methodfurther comprises displaying a status of the sprinkler controller. Themethod further comprising storing a schedule; and wherein control signalis based on the schedule. The method further comprises producing thecontrol signal based on the stored schedule when the signal representingthe digital data is unavailable.

In general, in one aspect, the invention features an integrated circuitto control a controller for controlling an environmental control unit,the integrated circuit comprising a media access controller adapted toobtain digital data from a signal received by a receiver of thecontroller, the signal representing the digital data; and a processoradapted to produce a control signal based on the digital data obtainedby the media access controller; wherein the controller provides thecontrol signal to the environmental control unit.

Particular implementations can include one or more of the followingfeatures. The sensor signal represents at least one of the groupcomprising sunlight intensity; an ambient temperature; and a relativehumidity. The integrated circuit further comprises a display, whereinthe processor causes the display to display a status of the controller.The digital data comprises data representing at least one of the groupcomprising a desired ambient temperature; and meteorological conditions.The integrated circuit further comprises a memory adapted to store aschedule; and wherein the processor is further adapted to produce thecontrol signal based on the schedule. The processor is further adaptedto produce the control signal based on the schedule stored in the memorywhen the signal representing the digital data is unavailable. The memoryis non-volatile.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features will beapparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a conventional MP3 player.

FIG. 2 is a block diagram of a first embodiment of a mediaplayer/recorder in accordance with the present invention.

FIG. 3 is a more detailed block diagram of a first embodiment of themedia player/recorder of FIG. 2.

FIG. 4 is a block diagram of a second embodiment of a mediaplayer/recorder in accordance with the present invention.

FIG. 5 is a more detailed block diagram of the media player/recorder ofFIG. 4.

FIG. 6 shows an exemplary data format of a magnetic disk having aplurality of concentric tracks comprised of a plurality of user datasectors and embedded servo data sectors.

FIG. 7 is a schematic representation of memory 202.

FIG. 8 is a memory map of memory 202.

FIG. 9 is flow chart of an energization/deenergization procedureaccording to a first embodiment of the present invention.

FIG. 10 is flow chart of an energization/deenergization procedureaccording to a second embodiment of the present invention.

FIG. 11 is flow chart of an energization/deenergization procedureaccording to a third embodiment of the present invention.

FIG. 12 is flow chart of an operating procedure according to the presentinvention.

FIG. 13 shows a variation of the first embodiment of the mediaplayer/recorder of FIG. 2.

FIG. 14 shows a variation of the second embodiment of the mediaplayer/recorder of FIG. 2.

FIG. 15 is a block diagram of a third embodiment of a mediaplayer/recorder in accordance with the present invention.

FIG. 16 is a block diagram of a fourth embodiment of a mediaplayer/recorder in accordance with the present invention.

FIG. 17 illustrates a mode of some implementations referred to as “localradio mode.”

FIG. 18 shows an implementation where a media player/recorder isimplemented within a digital camera.

FIG. 19 shows automobiles equipped with a media player/recorder inaccordance with the present invention.

FIG. 20 shows an implementation where a media player/recordercommunicates with a biometric sensor over a cable.

FIG. 21 show a biometric sensor worn on a finger and transmittingbiometric data over a cable.

FIG. 22 shows a process for a media player/recorder to acquire sharedmedia.

FIG. 23 shows a process for a media player/recorder to share media.

FIG. 24 shows a process for a media player/recorder to match items ofinterest.

FIG. 25 shows a sprinkler system according to an embodiment of thepresent invention.

FIG. 26 shows a sprinkler controller according to an embodiment of thepresent invention.

FIG. 27 shows a process that can be performed by the sprinklercontroller of FIG. 26 according to a preferred embodiment.

FIG. 28 shows an environmental control system according to an embodimentof the present invention.

FIG. 29 shows a controller according to an embodiment of the presentinvention.

FIG. 30 shows a process that can be performed by the controller of FIG.29 according to a preferred embodiment.

FIG. 31 shows a method performed by a service provider according to apreferred embodiment.

The leading digit(s) of each reference numeral used in thisspecification indicates the number of the drawing in which the referencenumeral first appears. Like reference numerals refer to like parts.

DETAILED DESCRIPTION

Embodiments of the present invention are directed to an apparatus forenvironmental control using digital data transmitted to the apparatus.The digital data can be encoded, compressed or both, and can betransmitted wirelessly or by wire, cable, or the like.

While implementation of the present invention are discussed in terms ofdata compression such as MP3, the invention is not limited to datacompression, but includes other forms of data encoding that may or maynot include data compression. In implementations where the data encodingincludes data compression, the media data is encoded by a process thatcompresses the media data, and the encoded media data is decoded by aprocess that decompresses the encoded media data.

Referring to FIG. 2 there is shown the first embodiment of mediaplayer/recorder of the present invention. The media player/recorderincludes a wired interface 206, a wireless interface 210, memory 202, aprocessor 300, an output 216, a keypad 208, a display 212, a storagedevice (the storage device may utilize, for example, a magnetic media(such as a hard disk drive), magneto-optical media, an optical media(such as a CD ROM, CDR, CDRW or the like), and the like) such as, a diskdrive 230, a preamp 232 and a voice coil motor (VCM) 234. Wirelessinterface 210 includes a wireless transmitter 209 and a wirelessreceiver 211.

The operation of the media player/recorder is as follows. Operation ofthe media player/recorder is controlled by the user through keypad 208.Status of the media player/recorder is provided to the user by display212.

Media data, which was previously digitized, may be obtained (downloaded)from a personal computer, network appliance, local area network,Internet 50 and the like, including wireless networks withinfrastructure, such as a designated access point, peer-to-peer wirelessnetworks, and the like. Such external devices communicate with the mediaplayer/recorder via wired interface 206 and wireless interface 210,which are controlled by processor 300. Wired interface 206 may beimplemented, for example, as a parallel interface, serial interface,USB, Ethernet connection, IEEE 1394 (a.k.a. Firewire), and the like.Wireless interface 210 may be implemented, for example, as an infraredinterface, IEEE 802.15, IEEE 802.11, Bluetooth™ and the like. Again thepresent invention is independent of the interface selected. Media datais then stored on the storage device such as, disk drive 230 inaccordance with processor 300. Disk drive 230 is preferably a miniaturedrive with a capacity of 1 Gbyte of data storage, which is particularlysuitable for a portable device. Of course, any other appropriate sizeddisk drive may be employed.

Alternatively, media data may be obtained directly from an externalanalog source, such as a microphone or video camera, connected to input214. Input 214 takes the input signal from external device and sets theanalog signal to an appropriate level. The analog signal is thenconverted to a digital signal and compressed using a selected format byprocessor 300, as will be described herein below. The compressed digitaldata is similarly stored on disk drive 230.

When the user chooses a selection of media data to be played back withkeypad 208, processor 300 powers up disk drive 230 and retrieves theselected data which is then transferred to memory 202. It is noted thatthe powering up of the device is done in a sequential manner so as tominimize energy consumption of the device. A more detailed descriptionis provided below.

Memory 202 comprises a solid state memory, such as, for example dynamicrandom access memory (solid state memory), flash memory, EEPROM, or thelike. It is not necessary for memory 202 to be nonvolatile since themedia data is stored in a nonvolatile manner on storage device or diskdrive 230. The quantity of solid state memory required is less than isrequired in a conventional MP3 player. The quantity of solid statememory contemplate is about 2 Mbytes, which is sufficient to store about2 minutes of MP3 data. Of course, as will be appreciated by one ofordinary skill in the art, when dealing with video data, more solidstate memory may be required. The amount of solid state memory suppliedis selected to minimize energy consumption.

After the selected data is stored in memory 202, disk drive 230 is thenpowered down. In this manner, during playback disk drive 230 is poweredup only during the transfer of the selected media data from disk drive230 to memory 202, which results in lower energy consumption. A moredetailed description of the powering down of disk drive 230 is providedherein below. The media data is retrieved from memory 202. Processor 300determines the format of data compression from the retrieved data. Diskdrive 230, also stores the data compression/decompression algorithms.The data is decompressed in accordance with the determined format andconverted to an analog signal by processor 300. The analog signal is setto an appropriate level by output circuit 216. If the analog signalcontains audio data, output circuit 216 is connected to a speaker,headphone and the like for playback, and if the analog signal containsvideo data, output circuit 216 is connected to a display device forplayback.

Additionally, media data recorded on disk drive 230 or stored in memory202 may be transferred (uploaded) to a personal computer, networkappliance, local area network, internet 50 or another mediaplayer/recorder through interfaces 206 and 210 under the control ofprocessor 300.

FIG. 3 is a detailed block diagram of processor 300. Processor 300 ispreferably implemented as a single integrated circuit. A mediaplayback/recorder apparatus having a processor implemented as a singleintegrated circuit can be fabricated at lower cost and have lower energyconsumption. Alternatively, processor 300 may be implemented by discretecomponents. Processor 300 comprises a read channel 341, storagecontroller or hard disk controller 342, digital signalprocessor/microprocessor unit (DSP/MPU) 343, random access memory (RAM)344, a non volatile memory such as read only memory (ROM) 345, digitalto analog converter (DAC) 346 and analog to digital converter (ADC) 347.DSP/MPU 343 comprises servo controller 349 and Codec 348. In a preferredembodiment, DSP/MPU 343 is implemented as a single integrated circuit.In another embodiment, MPU may be implemented as one integrated circuitand the DSP may be implemented as another integrated circuit.

It is noted that DSP/MPU 343 may comprise a microprocessor unit, adigital signal processor, or any combination thereof. ROM 345 storesprogrammed instructions for processor 300 and DSP/MPU 343 to control theoperation of both the disk drive 230 (and associated circuitry) and thesignal processing of the media data. RAM 345 is provided as a workingmemory for DSP/MPU 343. For each of the various compression formatsdiscussed above, the decompression and compression algorithms for Codec348 are stored on disk drive 230. Storing the decompression andcompression algorithms on disk drive 230 minimizes the size of ROM 345and its energy consumption. Additionally, this feature allows futurecompression and decompressions formats to be easily implemented for themedia player/recorder.

In the implementation of FIG. 3, wireless interface 210 is implementedseparately from processor 300, and includes an antenna 356, a wirelessunit 354, a baseband processor 352, and a media access controller (MAC)350. Antenna 356 is a conventional antenna for receiving andtransmitting wireless signals. Wireless unit 354 converts wirelesssignals received by antenna 356 to analog baseband signals, and convertsanalog baseband signals received from baseband processor 352 to wirelesssignals for transmission by antenna 356. Baseband processor 352 convertsanalog baseband signals received from wireless unit 354 to a digitalbitstream, and converts a digital bitstream received from MAC 350 toanalog baseband signals, both according to well-known methods. MAC 350frames the digital bitstream produced by baseband processor 352, andfilters the frames to select the frames addressed to processor 300, bothaccording to well-known methods. MAC 350 also converts frames receivedfrom processor 300 to a digital bitstream for baseband processor 352,also according to well-known methods. In some implementations, MAC 350includes an embedded microprocessor.

Prior to discussing the operation of processor 300, reference is made toFIG. 6. FIG. 6 shows an exemplary data format of a magnetic media usedin disk drive 230, comprising a series of concentric data tracks 13wherein each data track 13 comprises a plurality of sectors 15 withembedded servo wedges 17. Servo controller 349 processes the servo datain servo wedges 17 and, in response thereto, positions the read/writehead over a desired track. Additionally, servo controller 349 processesservo bursts within servo wedges 17 to keep a disk head of disk drive230 aligned over a centerline of the desired track while writing andreading data. Servo wedges 17 may be detected by the discrete timesequence detector implemented in DSP/MPU 343. It is important to notethat DSP/MPU 343 is utilized only during the time period for detectingservo wedges 17; during other periods DSP/MPU 343 is available toperform other functions as described below, such as signal processingfor media data playback and recording. By using only one DSP rather thantwo, the cost of fabrication and the amount of energy consumption can bereduced.

As described above, the powering up of the device is done in asequential manner so as to minimize energy consumption of the device.More specifically, the mechanical or motor portions of the storagedevice are energized first. After the motor reaches operating speed, VCM234 is energized, followed by the energization of read channel 341 andHDC 342.

The operation of processor 300 is as follows. DSP/MPU 343 controls theentire operation of the media player/recorder. DSP/MPU 343 is coupled tohard disk controller 342. When writing data to disk drive 230, hard diskcontroller 342 receives a write instruction and write data from DSP/MPU343. The write data is temporarily stored in a cache memory (not shown)which is used as a buffer memory. Based on a clock from a clockgenerator (not shown), DSP/MPU 343 controls voice coil motor (VCM) andspindle motor 234 via servo unit 349. As a result, the magnetic head ismoved to a desired track position on the magnetic disk by the head arm,and the magnetic disk is rotated at a rated rotational speed by thespindle, which is driven by spindle motor 234. The data is read from thecache memory and supplied to read channel 341 via hard disk controller342. Read channel 341 encodes the write data under the control ofDSP/MPU 343, and supplies the encoded write data to preamplifier 232.The magnetic head writes the encoded write data on the magnetic disk inaccordance with a signal from preamplifier 232.

When reading data from the magnetic disk, hard disk controller 342receives a read instruction from DSP/MPU 343. Based on a clock signal,DSP/MPU 343 controls voice coil motor and spindle motor 234 via servounit 349. Hence, the magnetic head is moved to a desired track positionon the magnetic disk by the head arm, and the magnetic disk is rotatedby spindle motor 234.

The data read from the magnetic disk by the magnetic head is supplied toread channel 341 via preamplifier 232. Read channel 341 decodes the readdata under the control of DSP/MPU 343, and generates read data. The readdata are supplied from read channel 341 to hard disk controller 342under the control of DSP/MPU 343, and are temporarily stored in thecache memory. The read data read from the cache memory are supplied toDSP/MPU 343 from hard disk controller 342.

As noted above, operation of the media player/recorder is controlled bythe user through keypad 208, which is in communication with DSP/MPU 343.Status of the media player/recorder is provided to the user by display212 in accordance with DSP/MPU 343. When either uploading or downloadingdata, the media player/recorder is in communication with personalcomputer, network appliance, local area network, Internet 50. Otherwisethe media player/recorder can be operated independently. The userselects the file to be downloaded from personal computer, networkappliance, local area network, Internet 50 by way of keypad 208.Alternatively the user can select the file to be downloaded from thepersonal computer. DSP/MPU 343 controls the flow of data throughinterfaces 206 and/or 210 and stores the data onto hard disk 230 inaccordance with the method described above. When uploading data topersonal computer, network appliance, local area network, Internet 50the process is reversed.

To record data directly input into media player/recorder from anexternal analog source, the external device is placed in communicationwith input 214. Input 214 takes the input signal from the externaldevice and sets the analog signal to an appropriate level. The analogsignal is then converted to a digital signal by ADC 347 of processor300. Codec 348 of DSP/MPU 343 compresses the digitized data using adefault compression format or one selected by the user by way of keypad208. The default or selected compression program is transferred fromhard disk 230 to RAM 344 and provided to Codec 348 for encoding. Thecompressed digital data is similarly stored on disk drive 230 under thecontrol of DSP/MPU 343.

When the user chooses a selection of media data to be played back withkeypad 208, DSP/MPU 343 powers up disk drive 230 and retrieves theselected data as described above. The retrieved data is then written tomemory 202. After the selected data is stored in memory 202, disk drive230 is then powered down by DSP/MPU 343. In this manner, during playbackdisk drive 230 is powered up only during the transfer of the selectedmedia data from disk drive 230 to memory 202, which results in lowerenergy consumption. A single song stored in MP3 format may takeapproximately one second to retrieve from disk drive 230. The media datais retrieved from memory 202 by DSP/MPU 343 and the compression formatis then determined.

If the decompression program has already been transferred to RAM 344,the program is provided to Codec 348. Otherwise the decompressionalgorithm is retrieved from hard disk 230 and transferred to RAM 344.The data is then decompressed by Codec 348 and converted to an analogsignal by DAC 346. The analog signal is set to an appropriate level byoutput circuit 216. If the analog signal contains audio data, outputcircuit 216 is connected to a speaker, headphone and the like forplayback, and if the analog signal contains video data, output circuit216 is connected to a display device for playback.

It is noted that the capacity of disk drive 230 is selected to hold adesired amount of media data, and the amount of solid state memory 202is selected to minimize energy consumption. A disk drive having acapacity of 1 Gbyte can store approximately 30 hours of MP3 compressedmusic.

This section will described the power management control of the deviceby CPU/MPU 343.

Referring now to FIGS. 3, 7 and 9, when the user turns on the mediaplayer and selects a file to be played (step 912), the variouscomponents of media player are powered up in a sequential manner so asto minimize energy consumption of the device. More specifically, themechanical or motor portions of the storage device or disk drive 230 areenergized first (step 914). After the motor reaches its operating speed(step 916), VCM 234, preamp 232, read channel 341 and HDC 342 areenergized, since these components are only functional after disk drive230 becomes operational. Energy would be unnecessarily expended ifpreamp 232, read channel 341 and HDC 342 were energized before diskdrive 230 becomes operational. Therefore, VCM 234, preamp 232, readchannel 341 and HDC 342 are energized only after disk drive 230 becomesoperational (step 918). Preamp 232, read channel 341 and HDC 342 can bereferred to as a storage circuit and include circuits to transform datastored on a storage device to a digital signal.

FIG. 7 is a schematic representation of memory 202. User data is firststored from location 724 to location 702 in a sequential manner inmemory 202. In one embodiment, DSP/MPU 343 uses a pointer system inconnection with memory 202 to determine when the amount of data storedthe amount data stored reaches an upper threshold value (step 922). Whenthe amount of data stored in memory 202 reaches the upper thresholdvalue, HDC 342, read channel 341, preamp 232, disk drive 230 and VCM 234are powered down or deenergized (step 924). Of course, as will beappreciated by one of ordinary skill in the art, while data is being tomemory 202, data may also be read contemporaneously therefrom by DSP/MPU343 for decompression and playback. Data is then read out from memory202 starting at location 702 towards location 724 by DSP/MPU 343 (step926). When the data file has been completely read from memory (step928), the user can select another file. The data is continually readfrom memory 202, until the amount of data remaining is below a lowthreshold value (step 930). When the data remaining in memory 202 isbelow the threshold value, disk drive 230, VCM 234, preamp 232, readchannel 341 and HDC 342 are sequentially energized as noted above, anddata is transferred from the storage device to memory 202.

FIG. 10 is an alternate embodiment to FIG. 9. Instead of utilizing apointer system, the amount of data transferred to memory 202 is counted(step 1020) by a counter incorporated in DSP/MPU 343. The sequentialenergization of the disk drive 230, VCM 234, preamp 232, read channel341 and HDC 342 is similar to that of the embodiment of FIG. 9 (steps1012, 1014, 1016 and 1018). When amount of data transfer to memory 202is greater than or equal to an upper limit U (step 1022), HDC 342, readchannel 341, preamp 232, disk drive 230 and VCM 234 are powered down ordeenergized (step 1024). As data is read from memory, the counterdecrements the count, and when the count is less than or equal to alower limit 1 (step 1030), disk drive 230, VCM 234, preamp 232, readchannel 341 and HDC 342 are sequentially energized as noted above, anddata is transferred from the storage device to memory 202.

FIG. 11 is another alternate embodiment to FIG. 9. The embodiment inFIG. 9 utilizes a timer incorporated in DSP/MPU 343 to approximate theamount of data transferred to memory 202 in accordance with the datatransfer rate of disk drive 230. The sequential energization of diskdrive 230, VCM 234, preamp 232, read channel 341 and HDC 342 is similarto that of the embodiment of FIG. 9 (steps 1112, 1114, 1116 and 1118).The timer is started (step 1119) as data is transferred form disk drive230 to memory 202. When the timer times out, HDC 342, read channel 341,preamp 232, disk drive 230 and VCM 234 are powered down or deenergized(step 1124). As data is read from memory, the timer is started (1125),and when the timer times out (step 1130), disk drive 230, VCM 234,preamp 232, read channel 341 and HDC 342 are sequentially energized asnoted above, and data is transferred from the storage device to memory202.

In the simplest implementation, media data representing one selection(such as a single song) is transferred from disk drive 230 to memory 202for playback. FIG. 8 is a schematic representation of memory 202, andFIG. 12 is a flow chart illustrating an alternate implementation. Asshown therein, instead of retrieving just one selection, first portionsof multiple selections are transferred from disk drive 230 to memory202. These multiple selections may include the user's favoriteselections, random selections from an external source, or the like (step1204). When the user starts playing back the selection, a timer isstarted (step 1208) and the first selection is played back (step 1210).If a user instruction is received (step 1212) to continue playing thatselection is received within a predetermined time (step 1214), theremaining portion of the selection is transferred from disk drive 230 tomemory 202 (step 1216) for continued play back (step 1218). If the timertimes out (step 1214), the first portion of the next selection (step1206) is played back and the process is repeated for each remainingfirst portion. Alternatively, instead of using a timer, a memorythreshold, as shown in FIG. 8, may be utilized permit playback of theentire current selection if the user instruction is received before thememory being read out goes below the current selection threshold.Otherwise the first portion of the next selection is played back. Ofcourse, the play back of portions of selections 1 through N may be inany order, such as sequential, random and predetermined. If the playback is in sequential order new selections may be transferred from diskdrive 230 to memory 202 to replace previously played back selections.

FIGS. 4 and 5 show a second embodiment of the present invention. Thesecond embodiment is similar to the first embodiment except the secondembodiment does not include memory 202. In this embodiment media data isrecorded in a similar manner as the first embodiment and no furtherdiscussion is provided herein. For playback operation, the media data isretrieved directly from disk drive 230 for playback through output 216.The other portions of the playback operation are similar to the firstembodiment. In the second embodiment disk drive 230 will be powered onany time media data is recorded or played back. As such this embodimentis particularly applicable when the power supply is external. Forexample the media player/recorder of the second embodiment may be aportable device used in an automobile supply by energy therefrom. Insome implementations, MAC 350 includes an embedded microprocessor.

FIG. 13 shows a variation of the first embodiment. According to thisvariation, baseband processor 352 and MAC 350 are implemented withinprocessor 300, preferably as a single integrated circuit. Wirelessinterface 210 includes antenna 356 and wireless unit 354. This variationoperates as described for the first embodiment. In some implementations,MAC 350 includes an embedded microprocessor.

FIG. 14 shows a variation of the second embodiment. According to thisvariation, baseband processor 352 and MAC 350 are implemented withinprocessor 300, preferably as a single integrated circuit. Wirelessinterface 210 includes antenna 356 and wireless unit 354. This variationoperates as described for the first embodiment. In some implementations,MAC 350 includes an embedded microprocessor.

FIG. 15 is a block diagram of a third embodiment of a mediaplayer/recorder in accordance with the present invention. According tothis embodiment, a MAC 1550 is implemented within processor 300, whichis preferably implemented as a single integrated circuit, and includesan embedded digital signal processor and microprocessor unit (DSP/MPU)1551. DSP/MPU 1551 includes codec 348, and communicates with memory 202,display 212, keypad 208, wired interface 206, RAM 344, DAC 346, and ADC347, which function as described above with reference to FIG. 3. DSP/MPU343 has been replaces with DSP/MPU 1543, which controls disk drive 230,read channel 341, and HDC 342 as described above.

FIG. 16 is a block diagram of a fourth embodiment of a mediaplayer/recorder in accordance with the present invention. Thisembodiment is similar to the above embodiments, but has no hard drive.Some implementations of this embodiment optionally include anon-volatile memory 1602 such as a flash memory instead of a hard drive.Consequently the circuits associated with the hard drive are alsoeliminated, resulting in a less-expensive media player/recorder. In thedepicted implementation, baseband processor 352 and MAC 350 areimplemented within processor 300, which is preferably implemented as asingle integrated circuit. In other implementations, baseband processor352 and MAC 350 are implemented separately from processor 300, forexample, within wireless interface 210. In some implementations, MAC 350includes an embedded DSP/MPU. These implementations operate in a mannersimilar to that described for the implementations of FIG. 15.

The implementations using non-volatile memory instead of a hard driveare especially useful for receiving streaming media from broadcasts suchas internet radio stations and other media player recorders. Someimplementations feature a “broadcast” mode where the mediaplayer/recorder plays a media selection and wirelessly transmits themedia selection, either compressed or uncompressed, or in analog form,such that other media player/recorders can receive the broadcast mediaand play it at the same time as the broadcasting player/recorder.

The implementations with no hard drive or non-volatile memory areespecially useful in a “local radio” mode where the media to be playedis stored on a personal computer, server, or the like that is separatefrom the media player/recorder. FIG. 17 illustrates the local radiomode. In this mode, the media is wirelessly streamed to the mediaplayer/recorder 1704, which decompresses and plays the media withoutstoring the media. Because the media player/recorder never stores a copyof the media, it is ideal for playing media for which only a single copyis licensed. The single copy is stored on a personal computer (PC) 1702,and is streamed to media player/recorder 1704 for playback. Because onlya single copy of the media is stored, the single-copy license issatisfied.

FIG. 20 shows an implementation where a media player/recorder 2004 isimplemented within a digital camera 2002. In recording mode, an imagesensor 2006 within camera 2002 captures one or more images, and passes asignal representing the image to media player/recorder 2004. If thesignal is analog, a analog-to-digital converter within mediaplayer/recorder 2004 converts the analog signal to a digital signal. Adigital signal processor within media player/recorder 2004 then encodesthe digital signal. The encoding can include image compression, imagemanipulation, and the like. A storage controller within mediaplayer/recorder 2004 stores the encoded image data on a storage device.In some implementations, digital camera 2002 is a digital motion picturecamera and the encoded image data represents a motion picture.

In playback mode, the storage controller retrieves the encoded imagedata from the storage device. The digital signal processor decodes theretrieved encoded image data. Media player/recorder 1804 sends a signalrepresenting the decoded image data to a display 1808, which displaysthe image(s) captured by image sensor 1806. A The media player/recorderdescribed herein can be implemented as a portable unit, as a permanentlymounted unit within a vehicle such as an automobile, and the like. FIG.19 shows automobiles 1902A and 1902B equipped with such a mediaplayer/recorder. In this implementation, the antenna of the automobilecan serve as the antenna of the media player/recorder. The mediaplayer/recorders in the automobiles 1902 can communicate with eachother, without user intervention, while traveling near each other, whilestopped at intersections, and in other similar scenarios, to share mediadata, items of interest, and the like. The media player/recorders in theautomobiles 1902 can also communicate with portable mediaplayer/recorders 1904 in a similar fashion. The vehicular and portablemedia player/recorders can communicate with a stationary base station1906 to share media over a network such as the Internet. For example, ahomeowner can equip his garage with such a base station 1906 so themedia player/recorder in his automobile can share media and items ofinterest while parked in the garage during the night. Similarly, a userof a portable player/recorder 1904 can equip his home with a basestation 1906 so the media player/recorder 1904 can share media and itemsof interest while not otherwise in use, for example while the usersleeps.

Some implementations receive and store data other than media data. Insome implementations the media player/recorder records biometric datacollected by a biometric sensor disposed near, upon, or within a humanbody or other organism. The biometric data can represent biologicalfunctions such as breathing, heart function, body temperature, bloodpressure, and the like. Such devices and methods are well-know in therelevant arts, and are described in U.S. Pat. No. 6,023,662 entitled“Measurement Device, Portable Electronic Instrument, And MeasurementMethod,” issued Feb. 8, 2000; U.S. Pat. No. 6,030,342 entitled “DeviceFor Measuring Calorie Expenditure And Device For Measuring BodyTemperature,” issued Feb. 29, 2000; U.S. Pat. No. 6,036,653 entitled“Pulsimeter,” issued Mar. 14, 2000; and U.S. Pat. No. 6,081,742 entitled“Organism State Measuring Device and Relaxation Instructing Device,”issued Jun. 27, 2000, the disclosures thereof incorporated by referenceherein in their entirety.

FIG. 18 shows an implementation where a media player/recorder 1802communicates with a biometric sensor 1804 over a cable 1806. Thebiometric data collected by biometric sensor 1804 is passed to mediaplayer/recorder 1802 over cable 1806. Alternatively, the biometric datacan be passed to media/player recorder 1802 wirelessly. The data can bepassed in analog or digital form, and is received and stored bymedia/player recorder 1802 according to the methods described above. InFIG. 18 the biometric sensor is worn on the leg. Of course, thebiometric sensor can be worn in other locations. FIG. 21 show abiometric sensor 2104 worn on a finger and transmitting biometric dataover a cable 2106.

According to these implementations, a user of the media player/recordercan record biometric data for later use in diagnosis and treatment ofintermittently occurring medical conditions such as heart arrhythmia.When the user subsequently visits a doctor, the media player/recordercan transmit the stored biometric data to the doctor's computer foranalysis, by wire or wirelessly.

Some implementations feature a “share” mode in which media stored on onemedia player/recorder can be shared with other media player recordersusing wireless data transmissions over wireless interface 210. FIGS. 22and 23 show methods for such sharing. Of course, media can be sharedover wired interface 206 as well using similar methods. However, thesemethods are well-suited for the relatively lower data rates of wirelesslinks because they require little user intervention. These methods canbe used not only to share media between player/recorder units, but alsowith other repositories of media, such as remote network servers and thelike.

FIG. 22 shows a process 2200 for a media player/recorder to acquireshared media. A list of identifiers of desired media selections, such assong titles, is stored within the player/recorder (step 2202). A usercan generate the list using the keypad, download the list from acomputer, or the like. Optionally, the wireless transmitter can transmita signal representing the list (step 2204). Other player/recorder unitsreceive the list, and respond by offering media selections on the list.The wireless receiver receives the titles of the offered mediaselections (step 2206). The offered titles are compared to the desiredtitles (step 2208). The player/recorder optionally transmits a signalrequesting the selections having matching titles (step 2210). Otherplayer/recorders respond by transmitting the requested selections. Theplayer/recorder receives the requested selections, and stores thereceived selections (step 2212).

The player/recorder can obtain selections shared by a broadcaster thatsimply transmits a title of a media selection, and then transmits theselection, without first waiting to receive lists of desired titles orrequests for media selections having matching titles. In this caseoptional steps 2204 and 2210 are not needed.

FIG. 23 shows a process 2300 for a media player/recorder to share media.A list of identifiers of shared media selections, such as song titles,is stored within the player/recorder (step 2302). A user can generatethe list using the keypad, download the list from a computer, or thelike. Optionally, the wireless transmitter can transmit a signalrepresenting the list (step 2304). Other player/recorder units receivethe list, and respond by requesting media selections on the list. Thewireless receiver receives the titles of the sought media selections(step 2306). The sought titles are compared to the shared titles (step2308). The player/recorder transmits the selections having matchingtitles (step 2310).

Some implementations feature an “interest matching” mode in which itemsof interest stored on one media player/recorder can be shared with othermedia player recorders using wireless data transmissions over wirelessinterface 220. Items of interest include interests such as hobbies andsports, items for sale or rent, requests for items for sale or rent,musical preferences and the like. When a match is made, the displayunits indicate the match, and the media player/recorders can wirelesslyexchange contact information such as email addresses, telephone numbersand the like. Some implementations include a directional antenna toallow the users having matched items of interest to locate each other.Of course, interests can be matched over wired interface 216 as wellusing similar methods. FIG. 24 shows methods for such interest matching.

FIG. 24 shows a process 2400 for a media player/recorder to match itemsof interest. A list of desired items of interest is stored within theplayer/recorder (step 2402). A user can generate the list using thekeypad, download the list from a computer, or the like. Optionally, thewireless transmitter can transmit a signal representing the list (step2404). The wireless receiver receives offered items of interest fromother player/recorders (step 2406). The offered items of interest arecompared to the desired items of interest (step 2408). When compareditems of interest match, the display unit indicates a match (step 2410).Optionally the player/recorder transmits contact information to thetransmitter of the offered item of interest (step 2412). Optionally, theplayer/recorder determines and displays a direction to the transmitterof the offered item of interest (step 2414). The player/recorder canalso include a range finder circuit to determine a range to thetransmitter of the offered item of interest, which is then displayed.

FIG. 25 shows a sprinkler system 2500 according to an embodiment of thepresent invention. Sprinkler system 2500 comprises one or moresprinklers 2502 each comprising a head 2504 and a valve 2506 thatoperates according to a sprinkler controller 2510 to deliver a fluidfrom a fluid supply 2508 to head 2504. Valve 2506 operates according toa control signal provided by a sprinkler controller 2510, whichoptionally communicates with an optional master unit such as a networkappliance 2512, personal computer (PC) or the like over a channel 2514that can be a wireless link or a wire, cable, or the like. An optionalsensor 2516 detects conditions such as a pressure of the fluid, a flowrate of the fluid, ambient temperature, relative humidity, sunlightintensity and the like in the vicinity of sprinkler 2506. Sensor 2516can provide this information to sprinkler controller 2510, to PC 2512,or to both. In some embodiments, sprinkler controller 2510 or networkappliance 2512 communicate with a network 2518 such as the Internet, forexample to obtain meteorological information from an optional weatherserver 2520. The pressure and flow rate of the fluid can be useful forsetting valve 2506 to compensate for low fluid pressure, and forshutting off one or more valves 2506 in response to a break in a fluidline supplying the fluid, for example in the event of a broken sprinklerhead 2504.

Sprinkler system 2500 has many uses including irrigation, firesuppression, and the like. A single sprinkler controller 2510 cancontrol one or more sprinklers 2502, and can receive data from one ormore sensors 2516, either directly or through PC 2512. Sprinklercontroller 2510, sensors 2516, and sprinkler 2502 can be fabricated asseparate units or as a single unit.

Sprinkler controller 2510 can operate independently or in conjunctionwith network appliance 2512. Network appliance 2512 can provide avariety of information to sprinkler controller 2510, which can generatea sprinkler schedule based on the information and subsequently generatesprinkler control signals based on the sprinkler schedule. For example,network appliance 2512 can provide information regarding current weatherconditions, such as data gathered by sensors 2516 or provided by otherremote sources such as Internet weather sites, information regardingfuture weather conditions such as forecast data provided by remotesources such as Internet weather sites, information regarding the statusof fluid supply 2508 such as availability schedules and quantities,desired sprinkler operation schedules, and the like. In otherembodiments, sprinkler controller 2510 can obtain this informationdirectly from network 2518.

When operating independently, for example when the connection to network2518 is unavailable, sprinkler controller 2510 can rely on datapreviously provided by network appliance 2512, data provided by sensors2516, an internal timer which can be implemented as a processor, or anycombination thereof, which can be stored in a memory in sprinklercontroller 2510. In the absence of any information to be provided bynetwork appliance 2512 or sensors 2516, sprinkler controller 2510 canrely on its internal timer and a default sprinkler schedule stored in anon-volatile memory in sprinkler controller 2510 to generate sprinklercontrol signals. In some embodiments, network appliance 2512 determinesthe operation schedule for sprinkler 2502. In other embodiments,sprinkler controller 2510 determines the operation schedule.

In embodiments including an optional display, sprinkler controller 2510can display information such as the status of sprinkler controller 2510,the sprinkler schedule, and so on. In embodiments including an optionalkeypad, a user can operate the keypad to alter the operation ofsprinkler controller 2510, for example by overriding its sprinklerschedule.

FIG. 26 shows a sprinkler controller 2600 according to an embodiment ofthe present invention that can function as sprinkler controller 2510 ofFIG. 25. Sprinkler controller 2600 includes a processor 2618 thatincludes a microprocessor unit (MPU) 2640, a volatile memory such asrandom access memory (RAM) 2624, a non-volatile memory such as read onlymemory (ROM) 2626, an optional digital to analog converter (DAC) 2628,an optional analog to digital converter (ADC) 2630, a media accesscontroller (MAC) 2622, and a baseband processor 2620. Processor 2618 ispreferably implemented as a single integrated circuit. A sprinklercontroller having a processor implemented as a single integrated circuitcan be fabricated at lower cost and have lower energy consumption.Alternatively, processor 2618 can be implemented by discrete components.

ROM 2626 stores programmed instructions for processor 2618 and MPU 2640to control the operation of the signal processing of the media data. RAM2626 is provided as a working memory for MPU 2640. Preferably.

Sprinkler controller 2600 also includes an interface, which can be awired interface 2606, a wireless interface 2610, or a combination of thetwo. Sprinkler controller 2600 further includes a memory 2602, anoptional input circuit 2614, an optional output circuit 2616, anoptional keypad 2608, and an optional display 2612. Wireless interface2610 includes a wireless antenna 2632 and a wireless unit 2610 thatincludes a wireless receiver 2638 and an optional wireless transmitter2636. Wired interface 2606 includes a receiver 2646 and an optionaltransmitter 2648. Keypad 2608 can be fabricated together with display2612 as a touch screen.

Memory 2602 comprises a solid state memory, such as, for example dynamicrandom access memory (solid state memory), flash memory, EEPROM, or thelike. The amount of solid state memory supplied is selected to minimizeenergy consumption.

Antenna 2632 is a conventional antenna for receiving and transmittingwireless signals. Wireless unit 2610 converts wireless signals receivedby antenna 2632 to analog baseband signals, and converts analog basebandsignals received from baseband processor 2620 to wireless signals fortransmission by antenna 2632. Baseband processor 2620 converts analogbaseband signals received from wireless unit 2610 to a digitalbitstream, and converts a digital bitstream received from MAC 2622 toanalog baseband signals, both according to well-known methods. MAC 2622frames the digital bitstream produced by baseband processor 2620, andfilters the frames to select the frames addressed to processor 2618,both according to well-known methods. MAC 2622 also converts framesreceived from processor 2618 to a digital bitstream for basebandprocessor 2620, also according to well-known methods. In someimplementations, MAC 2622 includes an embedded microprocessor.

Digital data may be obtained (downloaded) from a personal computer,network appliance, local area network, Internet and the like, includingwireless networks with infrastructure, such as a designated accesspoint, peer-to-peer wireless networks, and the like. Such externaldevices communicate with the sprinkler controller via wired interface2606 and/or wireless interface 2610, which are controlled by processor2618. Wired interface 2606 may be implemented, for example, as aparallel interface, serial interface, USB, Ethernet connection, IEEE1394 (a.k.a. Firewire), and the like. Wireless interface 2610 may beimplemented, for example, as an infrared interface, IEEE 802.15, IEEE802.11, Bluetooth™ and the like. Some embodiments of the presentinvention comply with one or more of the following standards: IEEE802.11; IEEE 802.11a; IEEE 802.11b; IEEE 802.11g; IEEE 802.11h; and IEEE802.11i. Again, the present invention is independent of the interfaceselected. The digital data is then optionally stored in memory 2602.

In some embodiments, wireless interface 2610 transmits and receivesdigital data using existing wireless infrastructure such as thatprovided for two-way pagers and mobile telephones. These technologiesinclude Short Messaging Service (SMS) and Analog Display ServiceInterface (ADSI). SMS defines how messages are delivered to and from awireless device, how the wireless device should store the messages, andprocessing which the wireless device can perform on the message.

ADSI was designed as an extension to interactive voice response systems.ADSI allows a service provider to send screens of data to a wirelessdevice. A user can select options in the screens of data. The wirelessdevice can transmit the user's selections using a special coding todescribe the full alphanumeric character set.

Alternatively, digital data may be obtained from an external analogsource such as an analog sensor 2816 connected to input circuit 2614.Input circuit 2614 takes the input signal from the external device andsets the analog signal to an appropriate level. The analog signal isthen converted to a digital signal by ADC 2630. The digital data can bestored in memory 2602.

FIG. 27 shows a process 2700 that can be performed by sprinklercontroller 2600 according to a preferred embodiment. Operation ofsprinkler controller 2600 can be automatic, controlled by the userthrough optional keypad 2608, which is in communication with MPU 2640,or both. Status of the sprinkler controller can be provided to the userby optional display 2612 in accordance with MPU 2640. When sprinklercontroller 2600 is in communication with a personal computer, networkappliance, local area network, Internet, or the like, encoded digitaldata such as described above is downloaded to sprinkler controller 2600(step 2702). MPU 2640 controls the flow of data through interfaces 2606and/or 2610 and optionally stores the encoded digital data in memory2602 (step 2704).

In one embodiment the user enters control signals by way of optionalkeypad 2608 (step 2706). In another embodiment the user makes aselection by speaking the selection aloud. This sound is captured byinput circuit 2614, and interpreted as a control signal.

Processor 2600 then generates one or more sprinkler control signalsbased on the data as described above (step 2712). The sprinkler controlsignals can be generated as analog signals or as digital signals, whichcan be converted to an analog signal by DAC 2628 (step 2714). Thesprinkler control signals are output to output circuit 2616 (step 2716),which sets the analog signal to an appropriate level. Output circuit2616 provides the analog control signal to one or more sprinkler valves2506 (step 2718), which operate according to the sprinkler controlsignals.

FIG. 28 shows an environmental control system 2800 according to anembodiment of the present invention. Environmental control system 2800comprises one or more environmental control units (ECU) 2802 thatoperate to control one or more environmental variables such astemperature, humidity, and the like according to a control signalprovided by a controller 2810 such as a thermostat or the like, whichcommunicates with an optional master unit such as a network appliance2812, personal computer (PC) or the like over a channel 2814 that can bea wireless link or a wire, cable, or the like. A sensor 2816 detectsenvironmental conditions such as ambient temperature, relative humidity,sunlight intensity and the like in the area affected by ECU 2802. Sensor2816 can provide this information to thermostat 2810, to PC 2812, or toboth. In some embodiments, controller 2810 or network appliance 2512communicate with a network 2518 such as the Internet, for example toobtain environmental information from an optional environmental server2520.

Environmental control units 2800 can be heaters, refrigeration units,humidifiers, air conditioners, and the like. A single controller 2810can control one or more ECUs 2802, and can receive data from one or moresensors 2816, either directly or through PC 2812. Controller 2810,sensors 2816, and ECU 2802 can be fabricated as separate units ortogether in any combination.

Controller 2810 can operate independently or in conjunction with networkappliance 2812. Network appliance 2812 can provide a variety ofinformation to controller 2810, which can generate a ECU schedule basedon the information and subsequently generate ECU control signals basedon the ECU schedule. For example, network appliance 2812 can provideinformation regarding current weather conditions, such as data gatheredby sensors 2816 or provided by other remote sources such as Internetweather sites, information regarding future weather conditions such asforecast data provided by remote sources such as Internet weather sites,information regarding the status of available power supplies to operateECUs 2802, desired ECU operation schedules, and the like. In otherembodiments, controller 2810 can obtain this information directly fromnetwork 2818.

When operating independently, for example when the connection to network2818 is unavailable, controller 2810 can rely on data previouslyprovided by network appliance 2812, data provided by sensors 2816, aninternal timer which can be implemented as a processor, or anycombination thereof, which can be stored in a memory in controller 2810.In the absence of any information to be provided by network appliance2812 or sensors 2816, controller 2810 can rely on its internal timer anda default schedule stored in a non-volatile memory in controller 2810 togenerate ECU control signals. In some embodiments, network appliance2812 determines the operation schedule for ECU 2802. In otherembodiments, controller 2810 determines the operation schedule.

In embodiments including an optional display, controller 2810 candisplay information such as the status of controller 2810, the ECUschedule, and so on. In embodiments including an optional keypad, a usercan operate the keypad to alter the operation of controller 2810, forexample by overriding its ECU schedule or temperature settings.

FIG. 29 shows a controller 2900 according to an embodiment of thepresent invention that can function as controller 2810 of FIG. 28.Controller 2900 includes a processor 2918 that includes a microprocessorunit (MPU) 2940, a volatile memory such as random access memory (RAM)2924, a non-volatile memory such as read only memory (ROM) 2926, anoptional digital to analog converter (DAC) 2928, an optional analog todigital converter (ADC) 2930, a media access controller (MAC) 2922, anda baseband processor 2920. Processor 2918 is preferably implemented as asingle integrated circuit. A controller having a processor implementedas a single integrated circuit can be fabricated at lower cost and havelower energy consumption. Alternatively, processor 2918 can beimplemented by discrete components.

ROM 2926 stores programmed instructions for processor 2918 and MPU 2940to control the operation of the signal processing of the media data. RAM2926 is provided as a working memory for MPU 2940.

Controller 2900 also includes an interface, which can be a wiredinterface 2906, a wireless interface 2910, or a combination of the two.Controller 2900 further includes a memory 2902, an optional inputcircuit 2914, an optional output circuit 2916, an optional keypad 2908,and an optional display 2912. Wireless interface 2910 includes awireless antenna 2932 and a wireless unit 2910 that includes a wirelessreceiver 2938 and an optional wireless transmitter 2936. Wired interface2906 includes a receiver 2946 and an optional transmitter 2948. Keypad2908 can be fabricated together with display 2912 as a touch screen.

Memory 2902 comprises a solid state memory, such as, for example dynamicrandom access memory (solid state memory), flash memory, EEPROM, or thelike. The amount of solid state memory supplied is selected to minimizeenergy consumption.

Antenna 2932 is a conventional antenna for receiving and transmittingwireless signals. Wireless unit 2910 converts wireless signals receivedby antenna 2932 to analog baseband signals, and converts analog basebandsignals received from baseband processor 2920 to wireless signals fortransmission by antenna 2932. Baseband processor 2920 converts analogbaseband signals received from wireless unit 2910 to a digitalbitstream, and converts a digital bitstream received from MAC 2922 toanalog baseband signals, both according to well-known methods. MAC 2922frames the digital bitstream produced by baseband processor 2920, andfilters the frames to select the frames addressed to processor 2918,both according to well-known methods. MAC 2922 also converts framesreceived from processor 2918 to a digital bitstream for basebandprocessor 2920, also according to well-known methods. In someimplementations, MAC 2922 includes an embedded microprocessor.

Digital data may be obtained (downloaded) from a personal computer,network appliance, local area network, Internet and the like, includingwireless networks with infrastructure, such as a designated accesspoint, peer-to-peer wireless networks, and the like. Such externaldevices communicate with the controller via wired interface 2906 and/orwireless interface 2910, which are controlled by processor 2918. Wiredinterface 2906 may be implemented, for example, as a parallel interface,serial interface, USB, Ethernet connection, IEEE 1394 (a.k.a. Firewire),and the like. Wireless interface 2910 may be implemented, for example,as an infrared interface, IEEE 802.15, IEEE 802.11, Bluetooth™ and thelike. Some embodiments of the present invention comply with one or moreof the following standards: IEEE 802.11; IEEE 802.11a; IEEE 802.11b;IEEE 802.11g; IEEE 802.11h; and IEEE 802.11i. Again, the presentinvention is independent of the interface selected. The digital data isthen optionally stored in memory 2902. Processor 2918 can obtain digitaldata directly from a digital sensor 2816, or indirectly over wiredinterface 2906 or wireless interface 2910.

In some embodiments, wireless interface 2910 transmits and receivesdigital data using existing wireless infrastructure such as thatprovided for two-way pagers and mobile telephones. These technologiesinclude Short Messaging Service (SMS) and Analog Display ServiceInterface (ADSI). SMS defines how messages are delivered to and from awireless device, how the wireless device should store the messages, andprocessing which the wireless device can perform on the message.

ADSI was designed as an extension to interactive voice response systems.ADSI allows a service provider to send screens of data to a wirelessdevice. A user can select options in the screens of data. The wirelessdevice can transmit the user's selections using a special coding todescribe the full alphanumeric character set.

FIG. 30 shows a process 3000 that can be performed by controller 2900according to a preferred embodiment. Operation of controller 2900 can beautomatic, controlled by the user through optional keypad 2908, which isin communication with MPU 2940, or both. Status of the controller can beprovided to the user by optional display 2912 in accordance with MPU2940. When controller 2900 is in communication with a personal computer,network appliance, local area network, Internet, or the like, encodeddigital data such as described above is downloaded to controller 2900(step 3002). MPU 2940 controls the flow of data through interfaces 2906and/or 2910 and optionally stores the encoded digital data in memory2902 (step 3004).

In one embodiment the user enters control signals by way of optionalkeypad 2908 (step 3006). In another embodiment the user makes aselection by speaking the selection aloud. This sound is captured byinput circuit 2914, and interpreted as a control signal.

Processor 2900 then generates one or more ECU control signals based onthe data as described above (step 3012). The ECU control signals can begenerated as analog signals or as digital signals, which can beconverted to an analog signal by DAC 2928 (step 3014). The ECU controlsignals are output to output circuit 2916 (step 3016), which sets theanalog signal to an appropriate level. Output circuit 216 provides theECU control signal to one or more ECUs 2802 (step 3018).

While an embodiment of environmental control system 2800 is described interms of a controller regulating an air conditioner or the like based ontemperature or the like, other embodiments use other sorts ofcontrollers to regulate other sorts of environmental control units basedon temperature and/or other factors.

Referring again to FIG. 25, in one embodiment, sprinkler controller 2510communicates with a service provider that provides services such assprinkler information and maintenance. FIG. 31 shows a method 3100performed by the service provider according to a preferred embodiment.

The service provider obtains sprinkler-related data that can be used togenerate a sprinkler schedule (step 3102). This data can include, forexample, meteorological conditions, and a status of a fluid supplysystem supplying the fluid to the sprinklers.

The service provider also monitors the sensor signals provided by one ormore of the sensors 2516 in sprinkler system 2500 (step 3104). Recallthe sensor signals represent a condition of the sprinkler system. Forexample, the sensor signals can represent a pressure of the fluidsupplied to the sprinklers. As another example, the sensor signals canrepresent a flow rate of the fluid supplied to the sprinklers. Thesensor signals can be provided over network 2518 by sprinkler controller2510, by optional network appliance 2512, or directly by sensors 2516.

The service provider generates a sprinkler schedule for sprinkler system2500 based on one or both of the data obtained in steps 3102 and 3104(step 3106), and provides the sprinkler schedule to the sprinklercontroller 2510 (step 3108), for example using wireless interface 2610.

The service provider also determines the condition of the sprinklersystem from the sensor signal (step 3110), and determines a service forthe sprinkler system in accordance with the condition of the sprinklersystem (step 3112). For example, if the fluid pressure is very low, andthe fluid flow rate is very high, the service provider may determinethat the sprinkler system has a leak, and therefore may determine thatit is necessary to interrupt the flow of the fluid supplied to thesprinkler system, and to dispatch a repair technician to the site of theleak to repair one or more of the sprinklers, or to repair a supply lineproviding the fluid to the sprinklers. The service provider thenprovides the service for the sprinkler system (step 3114).

The service provider may invoice the sprinkler system custodian on aregular basis for monitoring the sprinkler system, and may invoice foreach service provided. For example, after providing the service to thesprinkler system, the service provider determines a cost of the service(step 3116), generates an invoice for the cost of the service (step3118), and provides the invoice to the custodian of the sprinkler system(step 3120).

The invention can be implemented in digital electronic circuitry, or incomputer hardware, firmware, software, or in combinations of them.Apparatus of the invention can be implemented in a computer programproduct tangibly embodied in a machine-readable storage device forexecution by a programmable processor; and method steps of the inventioncan be performed by a programmable processor executing a program ofinstructions to perform functions of the invention by operating on inputdata and generating output. The invention can be implementedadvantageously in one or more computer programs that are executable on aprogrammable system including at least one programmable processorcoupled to receive data and instructions from, and to transmit data andinstructions to, a data storage system, at least one input device, andat least one output device. Each computer program can be implemented ina high-level procedural or object-oriented programming language, or inassembly or machine language if desired; and in any case, the languagecan be a compiled or interpreted language. Suitable processors include,by way of example, both general and special purpose microprocessors.Generally, a processor will receive instructions and data from aread-only memory and/or a random access memory. Generally, a computerwill include one or more mass storage devices for storing data files;such devices include magnetic disks, such as internal hard disks andremovable disks; magneto-optical disks; and optical disks. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as EPROM, EEPROM, and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM disks. Any of the foregoing canbe supplemented by, or incorporated in, ASICs (application-specificintegrated circuits).

A number of implementations of the invention have been described.Neverthe-less, it will be understood that various modifications may bemade without departing from the spirit and scope of the invention.Accordingly, other implementations are within the scope of the followingclaims.

1. A sprinkler system comprising: a fluid supply; and one or moresprinklers configured to deliver fluid from the fluid supply, whereineach sprinkler of the one or more sprinklers includes a wirelessinterface configured to receive information over a wireless channel, aprocessor configured to (i) generate a schedule for operating thesprinkler based on the information received by the wireless interfaceand (ii) generate a control signal for controlling the sprinkler basedon the schedule, and a valve configured to regulate an amount of thefluid delivered by the sprinkler in response to the control signal,wherein each of the wireless interface, the processor, and the valve arefabricated as part of the sprinkler as a single unit.
 2. The sprinklersystem of claim 1, wherein the information comprises one or more of:information regarding current weather conditions, information regardingforecasted weather conditions, or information regarding a status of thefluid supply.
 3. The sprinkler system of claim 1, wherein each sprinklerof the one or more sprinklers is configured to operate independently ofother sprinklers.
 4. The sprinkler system of claim 1, wherein: eachsprinkler further comprises a sensor configured to detect a flow rate ofthe fluid delivered by the sprinkler; and the processor is configured togenerate the control signal further based on the flow rate of the fluiddelivered by the sprinkler as detected by the sensor.
 5. The sprinklersystem of claim 1, wherein the wireless interface is implemented inaccordance with one or more of the following wireless protocols: IEEE802.15, IEEE 802.11, or Bluetooth.
 6. The sprinkler system of claim 1,wherein the wireless interface is an infrared interface.